package com.demo2do.fms.admin.service.report;

import java.util.List;
import java.util.Map;

import com.demo2do.core.entity.page.Page;
import com.demo2do.fms.admin.entity.report.report.DriverAccumulatedMileageReportSearch;
import com.demo2do.fms.admin.entity.report.report.DriverCostReportSearch;
import com.demo2do.fms.admin.entity.report.report.TransportRevenueScheduleReportSearch;
import com.demo2do.fms.admin.entity.report.report.VehicleAccumulatedMileageReportSearch;

/**
 *
 * @author Ark
 *
 */
public interface ReportService {

	/**
	 * @param search
	 * @return
	 */
	public int count(VehicleAccumulatedMileageReportSearch search);
	
	/**
	 * @param search
	 * @param page
	 * @return
	 */
	public List<Map<String, Object>> search(VehicleAccumulatedMileageReportSearch search, Page page);
	
	/**
	 * @param search
	 * @return
	 */
	public int count(DriverAccumulatedMileageReportSearch search);
	
	/**
	 * @param search
	 * @param page
	 * @return
	 */
	public List<Map<String, Object>> search(DriverAccumulatedMileageReportSearch search, Page page);
	
	/**
	 * @param search
	 * @return
	 */
	public int count(DriverCostReportSearch search);
	
	/**
	 * @param search
	 * @param page
	 * @return
	 */
	public List<Map<String, Object>> search(DriverCostReportSearch search, Page page);
	
	/**
	 * @param search
	 * @return
	 */
	public int count(TransportRevenueScheduleReportSearch search);
	
	/**
	 * @param search
	 * @param page
	 * @return
	 */
	List<Map<String, Object>> search(TransportRevenueScheduleReportSearch search, Page page);
	
}
